home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / os2 / adaptor.zip / ADAPT.ZIP / adaptor / examples / bsp2 / flow.f < prev    next >
Text File  |  1993-06-28  |  1KB  |  51 lines

  1.       program flow
  2.       implicit none
  3.  
  4.       integer x_dim, y_dim, points
  5.       parameter (x_dim = 256, y_dim=256)
  6.       parameter (points = 256)
  7.       integer i, j
  8.  
  9.       real x_coord(points), y_coord(points), dx (points), dy (points)
  10.       integer image_buffer (256,256)
  11.       integer x (points), y (points)
  12.       integer color (points)
  13.       integer dummy
  14.  
  15.       call x_display_init (x_dim, y_dim)
  16.  
  17.       x_coord = 0
  18.       y_coord = 0
  19.       do i = 1,points
  20.          x_coord(i)=sin(i*2*3.1415926*8/real(points))
  21.      $              *(real(i)/real(points))
  22.       end do
  23.       do i = 1,points
  24.          y_coord(i)=cos(i*2*3.1415926*8/real(points))
  25.      $              *(real(i)/real(points))
  26.       end do
  27.       x_coord = 0.5*x_coord
  28.       y_coord = 0.5*y_coord
  29.       do i = 1, 250
  30.         dx = x_coord + (i/25.0) * y_coord * x_coord
  31.         dy = - y_coord - (i/50.0) * x_coord * (y_coord-x_coord)
  32.         x_coord = x_coord + 0.01 * dx
  33.         y_coord = y_coord + 0.01 * dy
  34. c       display all points
  35.         image_buffer = 50
  36.         do j = 1, points
  37.            x(j) = 128 + x_coord(j) * 128
  38.            y(j) = 128 + y_coord(j) * 128
  39.            color (j) = 255
  40.         end do
  41.         do j = 1, points
  42.            if ( (x(j) .gt. 0) .and. (x(j) .le. 256) .and. 
  43.      $          (y(j) .gt. 0) .and. (y(j) .le. 256) ) then
  44.              image_buffer (x(j),y(j)) = color (j)
  45.            end if
  46.         end do
  47.         call x_show_bild (image_buffer)
  48.       end do
  49.       read *, dummy
  50.       end 
  51.